【巡检问题分析与最佳实践】Redis 流控问题

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,通用型 2核4GB
简介: Redis一般作为更靠近应用服务的数据层,会进行较多数据存取消耗网络带宽。在阿里云的Redis服务中,带宽根据实例规格绑定,当超过规格带宽时会进行带宽流控。当触发流控时应用的带宽流量被限制,容易对应用服务的数据访问性能造成影响,需要引起重视。

往期分享

RDS MySQL

RDS MySQL 实例空间问题

RDS MySQL 内存使用问题

RDS MySQL 活跃线程数高问题

RDS MySQL 慢SQL问题

RDS MySQL 实例IO高问题

RDS MySQL 小版本升级最佳实践

RDS PostgreSQL

RDS PostgreSQL 实例IO高问题

RDS PostgreSQL 慢SQL问题

RDS PostgreSQL CPU高问题

RDS SQL Server

RDS SQL Server 磁盘IO吞吐高问题

RDS SQL Server CPU高问题

RDS SQL Server 空间使用问题


概述

Redis一般作为更靠近应用服务的数据层,会进行较多数据存取消耗网络带宽。在阿里云的Redis服务中,带宽根据实例规格绑定,当超过规格带宽时会进行带宽流控。当触发流控时应用的带宽流量被限制,容易对应用服务的数据访问性能造成影响,需要引起重视。

关于Redis规格请参考:

https://help.aliyun.com/document_detail/26350.html

判断

可根据控制台-性能监控的实例进/出流量 (Intranet In/Intranet Out)或流量使用率(Intranet In Ratio/Intranet Out Ratio)结合规格来判断流量使用情况。一般而言流量平均使用80%需引起注意。如图1-1:

1.png

图1-1

处理

临时扩容

当触发流控时一般的应急处理办法是临时扩容带宽(如图2-1),将带宽临时扩容为规格标准带宽的两倍,时间为7天,这样用户可以有较长时间窗口来优化业务以解决问题。

2.png

图2-1

业务优化

当业务访问量与预期带宽消耗不匹配,建议检查实际访问消耗,可使用CloudDBA-缓存分析功能找出大Key(一般大于10KB,可根据业务实际情况定义)加以优化,如去除不必要的大Key访问。缓存分析寻找大Key,如图2-2、2-3:

3.png

图2-2


4.png

图2-3

扩容规格

当业务优化完成,而实际带宽消耗依旧在原规格下无法满足要求时,则建议升配Redis规格以支持更大的网络流量带宽。

使用Mybase

当Redis固有最高规格依旧无法满足带宽需求时,如单个Redis实例流量需求达到500MB/s,建议可考虑使用Mybase for Redis服务,用户可根据实际需要配置实例的带宽上限。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3天前
|
缓存 NoSQL 安全
Redis 最佳实践 [后端必看]
Redis 最佳实践 [后端必看]
45 0
|
3天前
|
存储 缓存 Java
【Spring原理高级进阶】有Redis为啥不用?深入剖析 Spring Cache:缓存的工作原理、缓存注解的使用方法与最佳实践
【Spring原理高级进阶】有Redis为啥不用?深入剖析 Spring Cache:缓存的工作原理、缓存注解的使用方法与最佳实践
|
7月前
|
存储 NoSQL 安全
Redis最佳实践
Redis键值设计 优雅的key结构 Redis的Key虽然可以自定义,但最好遵循下面的几个最佳实践约定: 遵循基本格式:[业务名称]:[数据名]:[id] 长度不超过44字节 不包含特殊字符 例如:我们的登录业务,保存用户信息,其key可以设计成如下格式: 这样设计的好处: 可读性强 避免key冲突 方便管理 更节省内存: key是string类型,(value)底层编码包含int、embstr和raw三种。 key是数值的情况下,使用int编码,把字符串直接当作一个数字去存储,较小存储空间 embstr在小于44字节使用,采用连续内存空间,内存占用更小。 当字节数大于44
69 0
|
3天前
|
NoSQL API Redis
最佳实践|如何使用c++开发redis module
本文将试着总结Tair用c++开发redis module中遇到的一些问题并沉淀为最佳实践,希望对redis module的使用者和开发者带来一些帮助(部分最佳实践也适用于c和其他语言)。
76279 0
|
3天前
|
缓存 监控 NoSQL
|
3天前
|
消息中间件 存储 NoSQL
Redis开发最佳实践
Redis开发最佳实践
65 0
|
9月前
|
存储 缓存 NoSQL
Redis缓存应用与最佳实践:优化性能与处理挑战
本篇深入探讨了Redis在缓存应用中的最佳实践,旨在优化性能并处理常见的缓存挑战。我们首先介绍了设计高效缓存架构的基本原则,展示了如何使用Redis作为缓存存储来提升应用性能。进一步地,我们讨论了缓存更新策略,演示了如何在源数据更新时同时更新缓存,以确保数据的一致性。
396 0
|
7月前
|
缓存 NoSQL 安全
【后端必看】Redis 最佳实践
【后端必看】Redis 最佳实践
|
10月前
|
存储 缓存 NoSQL
28个案例问题分析---01---redis没有及时更新问题--Redis
28个案例问题分析---01---redis没有及时更新问题--Redis
95 0
|
11月前
|
存储 监控 NoSQL
Redis哨兵的工作原理、配置和使用方法,以及相应的最佳实践
Redis哨兵的工作原理、配置和使用方法,以及相应的最佳实践
269 0